#!/usr/bin/python
# -*- coding: UTF-8 -*-

#选择排序（Selection sort）是一种简单直观的排序算法。
#它的工作原理是：第一次从待排序的数据元素中选出最小（或最大）的一个元素，
#存放在序列的起始位置，然后再从剩余的未排序元素中寻找到最小（大）元素，
#然后放到已排序的序列的末尾。以此类推，直到全部待排序的数据元素的个数为零。
#选择排序是不稳定的排序方法。

from pyforest import *
import random

# 选择排序
# arr 传入的数组

def choose(arr):
    for i in range(len(arr)):  # 循环数组值
        min = i
        for j in range(i + 1, len(arr)):  # 上一个值右边的数组
            if arr[min] > arr[j]:  # 使min为最小值，遇到比min小的值就赋值于min
                min = j
        arr[i], arr[min] = arr[min], arr[i]  # 交换最小值到左边
    print("排序后的数组：", arr)


if __name__ == '__main__':
    arr = list(range(1, 100))
    random.shuffle(arr)     # 打乱数组
    print(arr)
    choose(arr)
